package com.jn.retrofit.entity;

import java.util.List;

public class TrackingNum {

    private String requestId;
    private int code;
    private String message;
    private DataDTO data;

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public DataDTO getData() {
        return data;
    }

    public void setData(DataDTO data) {
        this.data = data;
    }

    public static class DataDTO {
        private String expressCode;
        private String expressName;
        private String trackingNumber;
        private String transitTime;
        private String latestUpdateTime;
        private String latestShipmentStatus;
        private List<TrackingDetailsDTO> trackingDetails;

        public String getExpressCode() {
            return expressCode;
        }

        public void setExpressCode(String expressCode) {
            this.expressCode = expressCode;
        }

        public String getExpressName() {
            return expressName;
        }

        public void setExpressName(String expressName) {
            this.expressName = expressName;
        }

        public String getTrackingNumber() {
            return trackingNumber;
        }

        public void setTrackingNumber(String trackingNumber) {
            this.trackingNumber = trackingNumber;
        }

        public String getTransitTime() {
            return transitTime;
        }

        public void setTransitTime(String transitTime) {
            this.transitTime = transitTime;
        }

        public String getLatestUpdateTime() {
            return latestUpdateTime;
        }

        public void setLatestUpdateTime(String latestUpdateTime) {
            this.latestUpdateTime = latestUpdateTime;
        }

        public String getLatestShipmentStatus() {
            return latestShipmentStatus;
        }

        public void setLatestShipmentStatus(String latestShipmentStatus) {
            this.latestShipmentStatus = latestShipmentStatus;
        }

        public List<TrackingDetailsDTO> getTrackingDetails() {
            return trackingDetails;
        }

        public void setTrackingDetails(List<TrackingDetailsDTO> trackingDetails) {
            this.trackingDetails = trackingDetails;
        }

        @Override
        public String toString() {
            return "DataDTO{" +
                    "expressCode='" + expressCode + '\'' +
                    ", expressName='" + expressName + '\'' +
                    ", trackingNumber='" + trackingNumber + '\'' +
                    ", transitTime='" + transitTime + '\'' +
                    ", latestUpdateTime='" + latestUpdateTime + '\'' +
                    ", latestShipmentStatus='" + latestShipmentStatus + '\'' +
                    ", trackingDetails=" + trackingDetails +
                    '}';
        }

        public static class TrackingDetailsDTO {
            private String time;
            private String description;
            private String location;
            private String shipmentStatus;

            public String getTime() {
                return time;
            }

            public void setTime(String time) {
                this.time = time;
            }

            public String getDescription() {
                return description;
            }

            public void setDescription(String description) {
                this.description = description;
            }

            public String getLocation() {
                return location;
            }

            public void setLocation(String location) {
                this.location = location;
            }

            public String getShipmentStatus() {
                return shipmentStatus;
            }

            public void setShipmentStatus(String shipmentStatus) {
                this.shipmentStatus = shipmentStatus;
            }

            @Override
            public String toString() {
                return "TrackingDetailsDTO{" +
                        "time='" + time + '\'' +
                        ", description='" + description + '\'' +
                        ", location='" + location + '\'' +
                        ", shipmentStatus='" + shipmentStatus + '\'' +
                        '}';
            }
        }
    }

    @Override
    public String toString() {
        return "TrackingNum{" +
                "requestId='" + requestId + '\'' +
                ", code=" + code +
                ", message='" + message + '\'' +
                ", data=" + data +
                '}';
    }
}
